This invention generally relates to digital data communication systems. Specifically, this invention relates to secure data transmission systems which encrypt data for transmission and decrypt data upon reception, thus ensuring the security of information in the data.
In a secure data system, plain or unencrypted digital data is first passed through an "encryptor" which scrambles or encrypts the data before transmission, making it unintelligible to other receivers monitoring the transmission channel. Upon reception a "decryptor" unscrambles or decrypts the information. The encryption and decryption processes performed by the encryptor and decryptor must of course be performed by methods having a common encryption code.
Most encryption algorithms require the specification of a numerical coefficient or data "key" that controls the encryption and decryption of data by the algorithm. An encryptor and decryptor must have the same "key" values to permit communication. One well-known encryption algorithm is an algorithm published by the U.S. Department of Commerce, National Bureau of Standards, as Federal Information Processing Standard, Publication 46 of Jan. 15, 1977. This encryption algorithm requires the specification of a user-defined data encryption key comprised of a 64-bit binary code. When used with this algorithm the 64-bit encryption key provides roughly seventy quadrillion possible encryption combinations ensuring a high degree of security.
To maintaining security with encrypted data communications systems, the encryption key used with encryption algorithms such as the one identified above, is typically not stored in a permanent memory location from which it might be readily copied. For greater security, the encryption key is usually stored in a volatile storage location from which the key will automatically be erased in the event of a security emergency. The volatile storage location however is also susceptible to electrical outages or electrical noise. Any inadvertent loss of the encryption key precludes intelligible transfer of secured data, and necessitates reloading the key.
One peculiarity of many encryption circuits, is the inability to detect a corrupted encryption key except by means of the encryption circuit itself performing an internal diagnostic test on the key. The encryption circuit, however, typically cannot perform the self-diagnostics during the time the system is communicating data or idle. Hence, the diagnostic test of the encryption key must be initiated by the application of a test signal on predetermined pins of the encryption chip at particular times during which the encryption circuit is not communicating. After application of the test signal, the results of the key verification test are available by evaluating a pass/fail signal which is output on another pin of the chip.
In secure communications systems having multiple channels, with each channel requiring a separate and unique encryption key, the process of initiating a key test at the correct time, verifying the integrity of each channels encryption keys, becomes a tedious and time-consuming process. Nevertheless, the undetected loss of an encryption key can result in a significant degradation of system reliability.
A need exists for an improved method and means for automatically and continuously monitoring data encryption keys, particularly in a multiple channel secure data communications system.